Page({
  data: {
    inputUserInfo: {},
    url: ''
  },

  navigateToRegister() {
    wx.navigateTo({ url: '/pages/register/register' });
  },

  loginHandler(e) {
    const formData = e.detail.value;
    formData.source = 2;

    wx.setStorage({ key: 'inputUserInfo', data: formData });

    wx.request({
      url: 'http://localhost:8080/user/login',
      method: 'POST',
      data: formData,
      success: (resp) => {
        if (resp.data.code === 200) {
          // 保存用户信息（同上）
          const userData = resp.data.data;
          const app = getApp();
          app.globalData.loginUserInfo = userData;
          app.globalData.userId = userData.id;
          wx.setStorageSync('userId', userData.id);

          wx.showToast({ title: '登录成功', duration: 1500 });

          // 解析原页面路径
          const callbackUrl = decodeURIComponent(this.data.url || '');
          console.log("待跳转路径：", callbackUrl);

          setTimeout(() => {
            if (callbackUrl) {
              // 1. 检查是否为 tabBar 页面（tabBar 页面需用 switchTab）
              const tabBarPages = ['/pages/index/index', '/pages/mine/mine']; // 你的 tabBar 页面列表
              const isTabBar = tabBarPages.some(page => callbackUrl.startsWith(page));

              // 2. 根据页面类型选择跳转方式
              if (isTabBar) {
                // 是tabBar页面：用 switchTab
                wx.switchTab({
                  url: callbackUrl,
                  fail: (err) => { console.error("switchTab 失败：", err); }
                });
              } else {
                // 非 tabBar 页面：用 redirectTo
                wx.redirectTo({
                  url: callbackUrl,
                  fail: (err) => {
                    console.error("redirectTo 失败：", err);
                    // 失败后降级处理：返回首页
                    wx.showToast({ title: '跳转失败，返回首页', icon: 'none' });
                    setTimeout(() => wx.switchTab({ url: '/pages/index/index' }), 1500);
                  }
                });
              }
            } else {
              // 无原页面参数：默认跳个人中心
              wx.switchTab({ url: '/pages/mine/mine' });
            }
          }, 1500);
        } else {
          wx.showToast({ title: resp.data.message || '登录失败', icon: 'none' });
        }
      }
    });
  },

  onLoad(options) {
    console.log("登录页接收参数：", options);
    this.setData({ url: options.url || '' });
  }
});